package com.xnyzc.lhy.mis.entity.user;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.Version;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
*
* 用户信息表
*
* @author liuju
* @since 2019-08-09
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="OaCUserInfo对象", description="用户信息表")
public class OaCUserInfo implements Serializable {

private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID(使用Snowflake生成)")
    @TableId(value="info_id", type = IdType.INPUT)
    private Long infoId;

    @ApiModelProperty(value = "用户ID")
    private Long userId;

    @ApiModelProperty(value = "年龄")
    private Integer age;

    @ApiModelProperty(value = "民族（参见字典表）")
    private Integer nationality;

    @ApiModelProperty(value = "用户等级")
    private String userLevel;

    @ApiModelProperty(value = "生日")
    private Date birthday;

    @ApiModelProperty(value = "常住地址")
    private String address;

    @ApiModelProperty(value = "紧急联系人")
    private String emergencyContact;

    @ApiModelProperty(value = "紧急联系人电话")
    private String emergencyMobile;

    @ApiModelProperty(value = "紧急联系人地址")
    private String emergencyAddress;

    @ApiModelProperty(value = "身份证正面图片")
    private Long identityPositiveFileId;

    @ApiModelProperty(value = "身份证反面照片")
    private Long identityOtherFileId;

    @ApiModelProperty(value = "身份证到期日期")
    private Date identityDueDate;

    @ApiModelProperty(value = "身份证号")
    private String identityNumber;

    @ApiModelProperty(value = "证件类型.1:身份证,2护照,3.其他")
    private Integer identityType;

    @ApiModelProperty(value = "户籍所在地")
    private String identityAddress;

    @ApiModelProperty(value = "驾驶证正面图片")
    private Long driveLicenseFileId;

    @ApiModelProperty(value = "驾驶证另外一面")
    private Long driveOtherLicenseFileId;

    @ApiModelProperty(value = "驾驶证编号")
    private String driveLicenseNo;

    @ApiModelProperty(value = "驾驶证起始日期")
    private Date driverStartDate;

    @ApiModelProperty(value = "证件到期时间")
    private Date driveLicenseDuedate;

    @ApiModelProperty(value = "驾照类型")
    private String driveLicenseType;

    @ApiModelProperty(value = "驾驶证发证地")
    private String driveLicenseIssueplace;

    @ApiModelProperty(value = "身份审核通过时间")
    private Date passingDate;

    @ApiModelProperty(value = "身份认证拒绝原因")
    private String identityRefuseReason;

    @ApiModelProperty(value = "驾照认证拒绝原因")
    private String idriveRefuseReason;

    @ApiModelProperty(value = "拉黑原因")
    private String blockedReason;

    @ApiModelProperty(value = "拉黑日期")
    private Date blockedDate;

    @ApiModelProperty(value = "审核类型：0，人工审核。1自动审核")
    private Integer auditType;

    @ApiModelProperty(value = "用户注册城市ID")
    private Integer registerCityId;

    @ApiModelProperty(value = "是否同意协议（0：否、1：是）")
    private Integer agreement;

    @ApiModelProperty(value = "用户来源")
    private String tag;

    @ApiModelProperty(value = "扩展字段1")
    private String expand1;

    @ApiModelProperty(value = "扩展字段2")
    private String expand2;

    @ApiModelProperty(value = "扩展字段3")
    private String expand3;

    @ApiModelProperty(value = "版本号")
    @Version
    private Long version;

    @ApiModelProperty(value = "是否删除(0:否,1:是)")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty(value = "创建人")
    private Long createUser;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    private Long updateUser;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;


    public static final String INFO_ID = "info_id";

    public static final String USER_ID = "user_id";

    public static final String AGE = "age";

    public static final String NATIONALITY = "nationality";

    public static final String USER_LEVEL = "user_level";

    public static final String BIRTHDAY = "birthday";

    public static final String ADDRESS = "address";

    public static final String EMERGENCY_CONTACT = "emergency_contact";

    public static final String EMERGENCY_MOBILE = "emergency_mobile";

    public static final String EMERGENCY_ADDRESS = "emergency_address";

    public static final String IDENTITY_POSITIVE_FILE_ID = "identity_positive_file_id";

    public static final String IDENTITY_OTHER_FILE_ID = "identity_other_file_id";

    public static final String IDENTITY_DUE_DATE = "identity_due_date";

    public static final String IDENTITY_NUMBER = "identity_number";

    public static final String IDENTITY_TYPE = "identity_type";

    public static final String IDENTITY_ADDRESS = "identity_address";

    public static final String DRIVE_LICENSE_FILE_ID = "drive_license_file_id";

    public static final String DRIVE_OTHER_LICENSE_FILE_ID = "drive_other_license_file_id";

    public static final String DRIVE_LICENSE_NO = "drive_license_no";

    public static final String DRIVER_START_DATE = "driver_start_date";

    public static final String DRIVE_LICENSE_DUEDATE = "drive_license_duedate";

    public static final String DRIVE_LICENSE_TYPE = "drive_license_type";

    public static final String DRIVE_LICENSE_ISSUEPLACE = "drive_license_issueplace";

    public static final String PASSING_DATE = "passing_date";

    public static final String IDENTITY_REFUSE_REASON = "identity_refuse_reason";

    public static final String IDRIVE_REFUSE_REASON = "idrive_refuse_reason";

    public static final String BLOCKED_REASON = "blocked_reason";

    public static final String BLOCKED_DATE = "blocked_date";

    public static final String AUDIT_TYPE = "audit_type";

    public static final String REGISTER_CITY_ID = "register_city_id";

    public static final String AGREEMENT = "agreement";

    public static final String TAG = "tag";

    public static final String EXPAND1 = "expand1";

    public static final String EXPAND2 = "expand2";

    public static final String EXPAND3 = "expand3";

    public static final String VERSION = "version";

    public static final String DELETED = "deleted";

    public static final String CREATE_USER = "create_user";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_USER = "update_user";

    public static final String UPDATE_TIME = "update_time";

}
